Preinstalled application management method for mobile terminal and mobile terminal

ABSTRACT

An embodiment of the present invention discloses a preinstalled application management method for a mobile terminal, where storage space of the mobile terminal includes at least one directory, and an installation package of at least one preinstalled application is stored in the at least one directory. The method includes: starting the mobile terminal; scanning the at least one directory; and installing the installation package of the at least one preinstalled application in the at least one directory to generate a preinstalled application having user-level permission. Besides, an embodiment of the present invention further provides a mobile terminal. By using the method and the mobile terminal, the preinstalled application can be uninstalled.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 14/303,907, filed on Jun. 13, 2014, which is a continuation of International Application No. PCT/CN2012/086435, filed on Dec. 12, 2012, which claims priority to Chinese Patent Application No. 201110415241.9, filed on Dec. 13, 2011. The afore-mentioned patent applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

Embodiments of the present invention relate to the field of electronic communications, and in particular, to a preinstalled application management method for a mobile terminal and a mobile terminal.

BACKGROUND

A mobile terminal, such as a mobile phone, generally has applications preinstalled therein. In an operating system, such as an Android system, a preinstalled application is stored in a system partition of a NAND Flash (generally referred to as a flash memory). When a user starts a mobile phone for the first time, or restores a mobile phone to factory defaults, the preinstalled application is installed by using system-level permission by default, and the user cannot uninstall the preinstalled application as required; besides, a version of a preinstalled application is generally upgraded very soon, and there is a time interval between a manufacturer building a preinstalled application into a mobile terminal and a user obtaining a product. As a result, when using the mobile terminal, the user generally receives a prompt message indicating that the application needs to be upgraded. In this case, once the user updates and upgrades the application, the upgraded application coexists with the preinstalled earlier-version application that cannot be uninstalled, and therefore more space in the NAND Flash is occupied and a waste of a space resource is caused.

SUMMARY

Embodiments of the present invention provide a preinstalled application management method for a mobile terminal and a mobile terminal, which can uninstall a preinstalled application from a mobile terminal as required.

According to one aspect, an embodiment of the present invention provides a preinstalled application management method for a mobile terminal, where storage space of the mobile terminal includes at least one directory, and an installation package of at least one preinstalled application is stored in the at least one directory, and the method includes: starting the mobile terminal; scanning the at least one directory; and installing the installation package of the at least one preinstalled application in the at least one directory to generate a preinstalled application having user-level permission, where the having user-level permission refers to that a user has permission to perform an operation including uninstalling.

According to another aspect, an embodiment of the present invention provides a mobile terminal, and the mobile terminal includes: a storing module configured to store at least one directory, where an installation package of at least one preinstalled application is stored in the directory; a starting module configured to start the mobile terminal; a scanning module configured to scan the at least one directory; and an installing module configured to install the installation package of the at least one preinstalled application in the at least one directory to generate a preinstalled application having user-level permission, where the having user-level permission refers to that a user has permission to perform an operation including uninstalling.

As can be learned from the foregoing technical solutions, in the embodiments of the present invention, storage space of the mobile terminal includes at least one directory, and an installation package of at least one preinstalled application is stored in the at least one directory; after the mobile terminal is started, the at least one directory is scanned, the installation package of the at least one preinstalled application in the at least one directory is installed to generate a preinstalled application having user-level permission. Because the installation package of the preinstalled application is installed by using the user-level permission to generate the installation package with user-level permission, and because the preinstalled application with user-level permission is allowed to be uninstalled by a user, the preinstalled application can be uninstalled as required like a third-party application installed by the user.

BRIEF DESCRIPTION OF THE DRAWINGS

To describe the technical solutions in the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. The accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.

FIG. 1 is a flowchart of a preinstalled application management method for a mobile terminal according to an embodiment of the present invention; and

FIG. 2 is a schematic structural diagram of a mobile terminal according to an embodiment of the present invention.

DETAILED DESCRIPTION

To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clearly, the following clearly describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. The described embodiments are a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

Method Embodiment

Using a mobile terminal that uses an Android operating system as an example, a NAND Flash of the mobile terminal is equivalent to a hard disk of a computer and is used for storing an operating system, an application, and the like.

The following are typical partitions of a NAND Flash of an existing mobile terminal: modem partition including related partitions such as original equipment manufacturer (oeminfo) and advanced mobile subscriber software (amss); boot partition storing a bootloader, and used for booting an image during startup; system partition used for storing an operating system and an application; user data partition (userdata partition) used for storing file data of an application; cache partition used for storing an instruction and cache data that are used by a system and an application; recovery partition used for storing a small system for restoring to factory defaults; and miscellaneous (misc) partition used for storing boot information for recovery.

Generally, a preinstalled application is stored in the system partition, for example, in an application directory (app directory). After installation, a generated application is an application with system-level permission, and a user cannot uninstall or delete the application.

A third-party application installed by a user is an application with user-level permission and can be uninstalled by the user. An installation package of the third-party application installed by the user is generally in a directory in the userdata partition, for example, an app directory. When the application is installed, generated file data is also placed in the userdata partition. When the user uninstalls the installed third-party application, the file data generated by the application installed in the userdata partition is deleted, and the system scans the app directory in the userdata partition and deletes the installation package of the third-party application from the app directory at the same time.

As shown in FIG. 1, an embodiment of the present invention provides a preinstalled application management method for a mobile terminal by using a mobile phone that uses an Android operating system as an example, but it is easy to understand that the present invention is not limited to this.

Storage space of the mobile terminal includes at least one directory, and an installation package of at least one preinstalled application is stored in the at least one directory.

The at least one directory may be added to existing partitions of the mobile terminal. For example, a directory may be added to each of a system partition and a userdata partition of the mobile terminal; for example, each of the directories is customized as a delete application directory (delapp directory), used for storing an installation package of a preinstalled application, that is, an installation package of a preinstalled application is stored in the added system/delapp directory and the userdata/delapp directory.

Preferably, at least one partition may be added based on the existing partitions of the mobile terminal. For example, the at least one partition is named cust partition, used for independently storing custom data, for example, a custom parameter, and can be considered as an extension partition of the system partition. The added at least one directory may be set in the added cust partition, which facilitates management of a system.

For ease of understanding, this embodiment is described by using an example of added directories delapp being in the existing system partition and userdata partition, that is, system/delapp and userdata/delapp, but the present invention is not limited to this.

Referring to FIG. 1, the method includes the following steps:

Step 11: Start the mobile terminal.

After the mobile terminal starts, the mobile terminal starts a Package Manager Service. After the Package Manager Service scans a system application directory, the Package Manager Service adds code and scans the customized directories: the delapp directories; that is, the Package Manager Service scans the system/delapp directory and the userdata/delapp directory.

Step 12: Scan the at least one directory.

Step 13: Install the installation package of the at least one preinstalled application in the at least one directory to generate a preinstalled application having user-level permission.

When the Package Manager Service scans a Package LI, the Package Manager Service installs the installation package in the delapp directory by default, and file data generated by the installed application is placed in the userdata partition. During installation, the Package Manager Service automatically installs the installation package in the delapp directory by using user-level permission, so as to generate the preinstalled application having user-level permission. The user-level permission refers to that a user has permission to perform an operation including uninstalling, and the so-called preinstalled application with user-level permission refers to a preinstalled application that allows a user to uninstall the preinstalled application.

Preferably, during installation, a custom flag, for example, PARSE_IS_REMOVABLE_PREINSTALLED, may be added for distinguishing the preinstalled application having user-level permission from an application installed in system-level permission. In this way, the preinstalled application carrying the flag is equivalent to a third-party application that has user-level permission and is installed by the user, and therefore the preinstalled application can be uninstalled.

Further, in the method provided by this embodiment of the present invention, when the user chooses to restore to factory defaults, an uninstalled preinstalled application is restored to a factory default state of the preinstalled application. Therefore, the method further includes: when the preinstalled application in the mobile terminal is uninstalled, uninstalling the preinstalled application to be uninstalled, and retaining an installation package of the preinstalled application to be uninstalled in the delapp directory. In this way, file data of the uninstalled preinstalled application in the userdata partition is deleted, and the application is uninstalled, but the installation package of the uninstalled preinstalled application still exists in the delapp directory. When the mobile terminal is restored to factory defaults, the preinstalled application can still be installed again by default and restored to a factory default state of the preinstalled application.

Preferably, the installation package of the uninstalled preinstalled application may be retained by using an existing uninstalling mechanism of a mobile terminal. In the existing uninstalling mechanism, when uninstalling a third-party application having user-level permission, the mobile terminal first deletes file data of the application in the userdata partition, and scans an app directory used for storing an installation package of the third-party application in the userdata partition, and then deletes the installation package of the third-party application to be uninstalled that is in the app directory. Because in this embodiment, the preinstalled program is installed by using the user-level permission, which is equivalent to a third-party application installed by a user. Therefore, the method may further include: when an application having user-level permission on the mobile terminal (including the preinstalled application having user-level permission and the third-party application having user-level permission) is uninstalled, scanning the app directory in the userdata partition, determining whether an installation package of the application that has user-level permission and is to be uninstalled exists in the app directory; if the installation package of the application that has user-level permission and is to be uninstalled is not placed in the app directory, which means the application is the preinstalled application having user-level permission, uninstalling, by the mobile terminal, the application that has user-level permission and is to be uninstalled, and retaining the installation package of the uninstalled application having the user-level permission in the delapp directory. In this way, although the third-party application and the preinstalled application are both applications with user-level permission, the installation package of the third-party application installed by the user exists in the userdata/app directory, therefore not only the file data of the application is deleted, but also the installation package of the application is deleted; while the installation package of the preinstalled application is not stored in the userdata/app directory but in the system/delapp directory and userdata/delapp directory, therefore only the file data of the application is deleted, and the installation package of the application is retained in the system/delapp directory and userdata/delapp directory; in this way, when the mobile terminal is restored to factory defaults, the preinstalled application can still be installed again by default and a factory default state of the preinstalled application can be restored.

Preferably, the mobile terminal may be configured so that the preinstalled application displays an uninstall button to implement uninstalling. For example, an init Uninstall Buttons interface and an on Click interface may be modified in Installed App Details, and a delete Package LI interface may be modified in the Package Manager Service.

Further, after the generating at least one preinstalled application having user-level permission in step 13, the method further includes: adding an identifier file, where the identifier file records information for identifying that the preinstalled application is already installed on the mobile terminal. The identifier file may be named booted, and added to a data directory in the userdata partition, that is, userdata/data/booted.

Further, after step 11, the method further includes: determining whether the identifier file exists; and if the identifier file does not exist, this means that the mobile terminal is started for the first time or considered as being started for the first time, performing, by the mobile terminal, the steps of scanning the at least one directory, and installing the installation package of the at least one preinstalled application in the at least one directory to generate a preinstalled application having user-level permission.

If the identifier file exists, this means that the mobile terminal is started at least not for the first time and the preinstalled application is already installed, the mobile terminal normally starts and waits for another operation instruction. In this way, the preinstalled application in the delapp directory is not installed repeatedly, and the uninstalled preinstalled application is not installed again.

It is easy to understand that when the mobile terminal is restored to factory defaults, the booted identifier file is automatically deleted; certainly, the booted identifier file may also be deleted by the user as required.

Further, the preinstalled application may be uninstalled permanently as required. In this case, the added delapp directory cannot be set in the system partition, because data in the system partition cannot be operated; in this way, after the installation package of the preinstalled application in the system/delapp directory is installed, the generated preinstalled application having user-level permission can be uninstalled but cannot be uninstalled permanently. The following describes the permanent uninstalling of the preinstalled application by using the preinstalled application in the userdata/delapp directory as an example. Similar to the foregoing description, the installation package of the preinstalled application is installed by using user-level permission; when the preinstalled application is uninstalled, the file data in the usterdata partition is deleted, and the installation package of the preinstalled application in the userdata/delapp directory is also deleted. Alternatively, the preinstalled application may also be permanently uninstalled by using the existing uninstalling mechanism of the mobile terminal, which specifically includes: when an application having user-level permission (including the preinstalled application having user-level permission and the third-party application having user-level permission) on the mobile terminal is uninstalled, adding code so that the mobile terminal scans the app directory and the delapp directory that are in the userdata partition, determining whether an installation package of the application that has user-level permission and is to be uninstalled exists in one of the app directory and the delapp directory; if yes, deleting the installation package at the same time. In this way, the preinstalled application is considered as a third-party application and is permanently uninstalled. Once being permanently uninstalled, the preinstalled application cannot be restored.

Preferably, when the preinstalled application is uninstalled, options may be set so that the user can choose whether to uninstall (can still be restored to factory defaults) or permanently uninstall the preinstalled application.

In this embodiment of the present invention, the preinstalled application is stored in an added directory, so that, on the basis of not changing existing settings, the system can easily identify that the preinstalled application in the directory should be installed by using user-level permission and the number of preinstalled applications can be conveniently increased or decreased as required, but the present invention is not limited by this as long as the terminal is led to learn the preinstalled application installed by using user-level permission.

In this embodiment of the present invention, storage space of a mobile terminal includes a delapp directory, and after a preinstalled application placed in the directory is decompressed, the preinstalled application is installed by using user-level permission; in this way, the preinstalled application is equivalent to a third-party application installed by a user and is allowed to be uninstalled by the user. Besides, an installation package of the uninstalled preinstalled application is still retained in the delapp; in this way, when the mobile terminal is restored to factory defaults, the uninstalled preinstalled application can be restored to a factory default state. In addition, when the preinstalled application is uninstalled, it may be set that the application installation package in the delapp directory is also deleted; in this way, the preinstalled application can also be permanently deleted.

Device Embodiment

As shown in FIG. 2, an embodiment of the present invention provides a mobile terminal, and the mobile terminal includes the following modules: a storing module 21 configured to store at least one directory, where an installation package of at least one preinstalled application is stored in the directory; a starting module 22 configured to start the mobile terminal; a scanning module 23 configured to scan the at least one directory; and an installing module 24 configured to install the installation package of the at least one preinstalled application in the at least one directory to generate a preinstalled application having user-level permission, where the having user-level permission refers to that a user has permission to perform an operation including an uninstalling operation.

Further, the mobile terminal further includes: a selecting module 25 configured to receive an uninstalling command of a user, determine one or more of the preinstalled applications having user-level permission as a preinstalled application to be uninstalled; and an uninstalling module 26 configured to uninstall the preinstalled application to be uninstalled, and retain an installation package of the preinstalled application to be uninstalled.

Further, the storing module 21 includes a system partition, where the at least one directory is not in the system partition; and the uninstalling module 26 is further configured to uninstall the preinstalled application to be uninstalled and delete the installation package of the preinstalled application to be uninstalled stored in the at least one directory.

Further, the storing module further includes a user data partition, where the user data partition includes another directory, where an installation package of a third-party application having user-level permission is stored in the another directory; and the mobile terminal further includes a determining module 27; the selecting module 25 is further configured to receive an uninstalling command of a user, determine one or more of applications having user-level permission as an application to be uninstalled, where the applications having user-level permission include the preinstalled application having user-level permission and the third-party application having user-level permission; the scanning module 23 is further configured to scan the another directory; the determining module 27 is configured to determine whether an installation package of the application which has user-level permission and is to be uninstalled exists in the another directory; and the uninstalling module 26 is further configured to: when the installation package of the application which has user-level permission and is to be uninstalled is not placed in the another directory, uninstall the application which has user-level permission and is to be uninstalled, and retain the installation package of the application which has user-level permission and is to be uninstalled.

Further, the scanning module 23 is further configured to scan the another directory and the at least one directory; the determining module 27 is further configured to determine whether the installation package of the application which has user-level permission and is to be uninstalled is stored in the another directory or the at least one directory; and the uninstalling module 26 is further configured to: when the determining module determines that the installation package of the application which has user-level permission and is to be uninstalled is stored in the another directory or the at least one directory, uninstall the application which has user-level permission and is to be uninstalled and delete the installation package of the application having user-level permission.

Further, the mobile terminal further includes: an identifier management module 28 configured to add an identifier file after the installing module generates at least one preinstalled application having user-level permission; or configured to delete the identifier file when the mobile terminal is restored to factory defaults; or configured to delete the identifier file when an instruction for deleting the identifier file is received from the user, where the identifier file records information for identifying that the preinstalled application is already installed on the mobile terminal.

The determining module 27 is further configured to: after the mobile terminal is started, determine whether the identifier file exists; when the determining module determines that the identifier file does not exist, the scanning module 23 scans the at least one directory; and the installing module 24 installs the installation package of the at least one preinstalled application in the at least one directory to generate the preinstalled application having user-level permission.

For related working principles and working processes in this embodiment of the present invention, reference may be made to the method embodiment, and details are not repeated herein.

In this embodiment of the present invention, at least one directory is stored in the storing module 21 of the mobile terminal, and an installation package of at least one preinstalled application is installed in the directory. After the starting module 22 starts the mobile terminal, the scanning module 23 scans the at least one directory, and the installing module 24 installs the installation package of the at least one preinstalled application in the at least one directory to generate a preinstalled application having user-level permission; because a preinstalled application with user-level permission is allowed to be uninstalled by a user, in this way, the preinstalled application can be uninstalled as required like a third-party application installed by the user. Besides, when the preinstalled application is uninstalled, the uninstalling module 26 may uninstall the preinstalled application to be uninstalled, and retain an installation package of the preinstalled application to be uninstalled stored in the at least one directory, or delete the installation package at the same time; in this way, the uninstalled preinstalled application can still be restored to a factory default state or be permanently deleted.

It is easy to understand that the directory name involved in this embodiment such as delapp is only exemplary but is not a limitation to the present invention.

A person of ordinary skill in the art may understand that all or a part of the processes of the methods in the embodiments may be implemented by a computer program instructing relevant hardware. The program may be stored in a computer readable storage medium. When the program runs, the processes of the methods in the embodiments are performed. The foregoing storage medium may include: a magnetic disk, an optical disc, a read-only memory (ROM), or a random access memory (RAM).

In conclusion, the foregoing embodiments are only exemplary embodiments of the present invention, and are not intended to limit the present invention. Any modification, equivalent replacement, and improvement made without departing from the spirit and principle of the present invention all fall in the protection scope of the embodiments of the present invention. 

What is claimed is:
 1. A preinstalled application management method for a mobile terminal, wherein storage space of the mobile terminal comprises at least one directory, the method comprising: uninstalling one or more preinstalled applications, wherein the one or more preinstalled applications have user-level permission to allow the uninstallation via a user, wherein the one or more preinstalled applications were previously installed from an installation package located in the at least one directory as factory defaults; retaining the installation package in the at least one directory when the one or more preinstalled applications are uninstalled; starting the mobile terminal when the mobile terminal is restored to the factory defaults; scanning, in response to the starting the mobile terminal, the at least one directory for the installation package of the one or more preinstalled applications having the user-level permission; determining whether the one or more preinstalled applications have been installed; installing the installation package of the one or more preinstalled applications in the at least one directory scanned to generate the one or more preinstalled applications having the user-level permission when the one or more preinstalled applications have not been installed.
 2. The method according to claim 1, wherein the method further comprises: receiving an uninstalling command from a user; determining that the one or more preinstalled applications having user-level permission are to be uninstalled.
 3. The method according to claim 1, wherein the storage space further comprises a user data partition, the user data partition comprises another directory, and an installation package of a third-party application having the user-level permission is stored in the another directory, and wherein the method further comprises: receiving an uninstalling command from a user; determining that one or more applications having the user-level permission are to be uninstalled, wherein the one or more applications having the user-level permission comprise the one or more preinstalled applications having the user-level permission and the third-party application having user-level permission; determining whether an installation package of the one or more applications exists in the another directory; and uninstalling the one or more applications and retaining the installation package of the one or more applications when the installation package of the one or more applications does not exist in the another directory.
 4. The method according to claim 1, wherein the mobile terminal includes an identifier file which records information for identifying installation of the one or more preinstalled applications.
 5. The method according to claim 4, wherein the identifier file is deleted when the mobile terminal is restored to factory defaults or when an instruction for deleting the identifier file is received from the user.
 6. The method according to claim 5, the method further comprising: determining whether the identifier file exists, wherein the at least one directory is scanned and the installation package of the one or more preinstalled applications is installed when the identifier file does not exist.
 7. The method according to claim 1, wherein the at least one directory is in at least one existing partition in the storage space of the mobile terminal, or in at least one added partition in the storage space of the mobile terminal.
 8. The method according to claim 1, wherein the mobile terminal is a mobile terminal that uses an Android operating system.
 9. The method according to claim 8, wherein the mobile terminal is a mobile phone.
 10. The method according to claim 1, wherein the storage space further comprises a system partition and a user data partition, wherein the at least one directory is allocated in the system partition, and wherein the installation package of the one or more preinstalled applications in the at least one directory scanned is installed to the user data partition to generate the one or more preinstalled applications having the user-level permission.
 11. The method according to claim 10, wherein the user data partition comprises another directory storing an installation package of a third-party application having the user-level permission, and wherein the installation package of the one or more preinstalled applications in the at least one directory scanned is installed to the another directory to generate the one or more preinstalled applications having the user-level permission.
 12. A mobile terminal comprising: an input unit; a non-transitory storage memory configured to store at least one directory, wherein an installation package of one or more preinstalled applications is stored in the directory; and a computer processor coupled with the non-transitory storage memory, wherein the computer processor is configured to: uninstall at least one of the preinstalled applications, wherein the at least one preinstalled application has user-level permission to allow the uninstallation via a user, wherein the at least one preinstalled application was previously installed from an installation package located in the at least one directory as factory defaults; retain the installation package in the at least one directory when the at least one preinstalled application is uninstalled; start the mobile terminal when the mobile terminal is restored to the factory defaults; scan, in response to the starting the mobile terminal, the at least one directory for the installation package of the at least one preinstalled application having the user-level permission; determine whether the one or more preinstalled applications have been installed; install the installation package of the at least one preinstalled application scanned in the at least one directory to generate the at least one preinstalled application having user-level permission when the one or more preinstalled applications have not been installed.
 13. The mobile terminal according to claim 12, wherein the computer processor is further configured to: receive an uninstalling command from the user; determine that the at least one preinstalled application having user-level permission is to be uninstalled.
 14. The mobile terminal according to claim 13, wherein the non-transitory storage memory further comprises a user data partition, wherein the user data partition comprises another directory, and an installation package of a third-party application having the user-level permission is stored in the another directory, wherein the computer processor is further configured to: receive an uninstalling command from the user; determine that one or more applications having the user-level permission are to be uninstalled, wherein the one or more applications having the user-level permission comprise the at least one preinstalled application having the user-level permission and the third-party application having the user-level permission; determine whether an installation package of the one or more applications exists in the another directory; and uninstall the one or more applications and retain the installation package of the one or more applications when the installation package of the one or more applications does not exist in the another directory.
 15. The mobile terminal according to claim 12, wherein an identifier file is added to the mobile terminal to record information for identifying that the at least one preinstalled application is already installed on the mobile terminal, and wherein the identifier file is deleted when the mobile terminal is restored to factory defaults or when an instruction for deleting the identifier file is received from the user.
 16. The mobile terminal according to claim 15, wherein the computer processor is further configured to: determine whether the identifier file exists after the mobile terminal starts; and scan the at least one directory and install the installation package of the at least one preinstalled application in the at least one directory to generate the at least one preinstalled application having the user-level permission when determining that the identifier file does not exist.
 17. The mobile terminal according to claim 12, wherein the mobile terminal is a mobile terminal that uses an Android operating system.
 18. The mobile terminal according to claim 17, wherein the mobile terminal is a mobile phone.
 19. The mobile terminal according to claim 12, wherein the storage space further comprises a system partition and a user data partition, wherein the at least one directory is allocated in the system partition, and wherein the installation package of the one or more preinstalled applications in the at least one directory scanned is installed to the user data partition to generate the one or more preinstalled applications having the user-level permission.
 20. The mobile terminal according to claim 19, wherein the user data partition comprises another directory, and an installation package of a third-party application having the user-level permission is stored in the another directory, and wherein the installation package of the one or more preinstalled applications in the at least one directory scanned is installed to the another directory to generate the one or more preinstalled applications having the user-level permission. 